Was ist uml klassendiagramm?

UML Klassendiagramm

Ein UML-Klassendiagramm ist ein statisches Strukturdiagramm, das die Struktur eines Systems beschreibt, indem es die Klassen, ihre Attribute, Operationen (Methoden) und die Beziehungen zwischen Objekten visualisiert. Es ist eines der am häufigsten verwendeten Diagramme in der UML (Unified Modeling Language).

Hauptkomponenten:

  • Klasse: Repräsentiert eine Menge von Objekten mit gemeinsamen Attributen, Operationen, Beziehungen und Semantik. Eine Klasse wird in einem Diagramm als Rechteck dargestellt, das in drei Abschnitte unterteilt ist:

    • Name der Klasse
    • Attribute (Datenfelder)
    • Operationen (Methoden)
  • Attribute: Beschreiben die Datenfelder, die eine Klasse enthält. Attribute haben einen Namen, einen Datentyp und können eine Sichtbarkeit (z.B. public, private, protected) aufweisen.

  • Operationen: Beschreiben das Verhalten oder die Funktionen, die eine Klasse ausführen kann. Operationen haben einen Namen, eine Parameterliste und einen Rückgabetyp. Auch Operationen können eine Sichtbarkeit haben.

  • Beziehungen: Beschreiben die Verbindungen zwischen Klassen. Es gibt verschiedene Arten von Beziehungen:

    • Assoziation: Eine generische Beziehung zwischen zwei Klassen. Sie gibt an, dass Objekte der einen Klasse mit Objekten der anderen Klasse in Beziehung stehen. Assoziation

    • Aggregation: Eine spezielle Form der Assoziation, die eine "Hat-ein"-Beziehung darstellt. Die Lebensdauer des Teils ist unabhängig von der Lebensdauer des Ganzen. Aggregation

    • Komposition: Eine stärkere Form der Aggregation, die eine "Ist-ein-Teil-von"-Beziehung darstellt. Die Lebensdauer des Teils ist abhängig von der Lebensdauer des Ganzen. Komposition

    • Generalisierung (Vererbung): Eine "Ist-ein"-Beziehung, bei der eine Unterklasse (Kindklasse) die Attribute und Operationen einer Oberklasse (Elternklasse) erbt. Vererbung

    • Realisierung: Eine Beziehung zwischen einer Klasse und einem Interface. Die Klasse implementiert das Interface. Realisierung

Wichtige Themen:

  • Sichtbarkeit: Bestimmt, welche Teile einer Klasse von anderen Klassen aus zugänglich sind (public, private, protected).

  • Multiplizität: Gibt die Anzahl der Objekte an, die an einer Beziehung beteiligt sind (z.B. 1, 0..1, 1..*, *).

  • Abstrakte Klassen: Klassen, von denen keine Objekte instanziiert werden können. Sie dienen als Basis für andere Klassen. Abstrakte%20Klassen

  • Interfaces: Definieren ein "Vertrag", den Klassen implementieren müssen. Sie legen fest, welche Operationen eine Klasse anbieten muss. Interfaces

Verwendung:

Klassendiagramme werden verwendet, um:

  • Den statischen Aufbau eines Systems zu modellieren.
  • Datenbankstrukturen zu visualisieren.
  • Dokumentation für Softwareprojekte zu erstellen.
  • Als Grundlage für die Codegenerierung zu dienen.

Vorteile:

  • Verbessern das Verständnis des Systems.
  • Erleichtern die Kommunikation zwischen Entwicklern.
  • Helfen, Designfehler frühzeitig zu erkennen.

Nachteile:

  • Können bei komplexen Systemen unübersichtlich werden.
  • Erfordern ein gutes Verständnis der UML-Notation.